home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-12-15 | 58.6 KB | 1,512 lines |
- Newsgroups: comp.object,comp.answers,news.answers
- Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!nic.hookup.net!swrinde!cs.utexas.edu!howland.reston.ans.net!vixen.cso.uiuc.edu!uchinews!news
- From: Bob Hathaway <rjh@geodesic.com>
- Subject: Comp.Object FAQ Version 1.0.5 (12-13) Part 3/8
- Message-ID: <1993Dec14.044430.18185@midway.uchicago.edu>
- Followup-To: comp.object
- Summary: Frequently Asked Questions (FAQ) List and Available Systems For Object-Oriented Technology
- Sender: news@uchinews.uchicago.edu (News System)
- Organization: Geodesic Systems
- Date: Tue, 14 Dec 1993 04:44:30 GMT
- Approved: news-answers-request@MIT.Edu
- Lines: 1497
- Xref: senator-bedfellow.mit.edu comp.object:13850 comp.answers:2991 news.answers:15749
-
- Archive-name: object-faq/part3
- Last-Modified: 12/13/93
- Version: 1.0.5
-
- 3.11) What Is Available On Object-Oriented Testing?
- ---------------------------------------------------
-
- [This entry was donated by Doug Shaker and is certainly a FAQ]
-
- Testing of Object-Oriented Programming (TOOP) FAQ/Resource Summary
-
- Posted to comp.object, comp.lang.c++, comp.lang.smalltalk and
- comp.software.testing.
-
- Last revised on 93.10.27. The most notable change is in the additions
- to the Software section. Also a couple of articles added to the
- Written Material section.
-
-
- > What?
-
- This is a summary of resources on the Testing of Object-Oriented
- Programming that have been mentioned to me over the net, in email,
- or other means. Sections include Written Material, Courses, and
- Software. It is kind of like an FAQ, though it isn't organized
- that way.
-
- > Who?
-
- I work for a Unix software house, Qualix Group, in the US. Here is
- my sig:
- - Doug Shaker
- voice: 415/572-0200
- fax: 415/572-1300
- email: dshaker@qualix.com
- mail: Qualix Group
- 1900 S. Norfolk St., #224
- San Mateo, CA 94403
- I am NOT a researcher on the testing of object-oriented programming.
- I just collate the stuff that is sent to me by people who REALLY know
- something. See the section "ACKs" at the end.
-
- I just think it is important.
-
- > Why?
-
- Why is this important? If classes are really to be reused in
- confidence, they must be blatantly correct. The classes must be easily
- testable during initial evaluation by the client programmer. They must
- also be testable under different OS configurations, different compiler
- optimizations, etc. This means that testing modules must be
- constructed in a way which is recognized as correct and the modules
- must be shipped with the class libraries.
-
- As soon as one major class library vendor starts to ship real test code
- with their libraries, all of the other vendors will be forced, by
- market pressure, to do so as well, or face market share erosion. Think
- about it. If you had to recommend a class library to a committee that
- was choosing a basis for the next five years of work, wouldn't you feel
- safer with a class library that could be auto-tested in your
- environment?
-
-
- > Written Material
-
- Berard, Edward. Essays on Object-Oriented Software Engineering.
- Prentice-Hall, Englewood Cliffs, NJ. $35.
- This book has two chapters on testing of object-oriented software,
- focusing on how to do it.
-
- Berard, Edward. Project Management Handbook. Must be purchased
- direct from Berard Software Engineering, Ltd., 902 Wind River
- Lane, Suite 203, Gaithersburg, Maryland 20878. $225.
- The book focuses on the management of OOP projects. It
- includes one chapter on testing OO software and one chapter
- on quality assurance.
-
- Bezier, Boris, "Software Testing Techniques", 2nd edition, Van Nostrand
- Reinhold, 1990, 503pp, $43, ISBN 0-442-20672-0. While this is
- not specifically about testing of OOP, it is mentioned so often
- by so many people as a definitive software testing work, that
- I have to mention it anyway.
-
- Cheatham Thomas J., and Lee Mellinger, "Testing Object-Oriented
- Software Systems", Proceedings of the 18th ACM Annual Computer
- Science Conference, ACM, Inc., New York, NY, 1990, pp. 161-165.
-
- Doong, Roong-Ko and Phyllis G. Frankl, "Case Studies on Testing
- Object-Oriented Programs", Proceedings of the 4th Symposium on
- Testing, Analysis, and Verification (TAV4), 1991, ACM, Inc.,
- New York, NY, 1991, pp. 165-177.
-
- Fiedler, Steven P., "Object-Oriented Unit Testing", Hewlett-Packard
- Journal, April, 1989, pp. 69-74.
-
- Firesmith, D.G., "Testing Object-Oriented Software", Proceedings
- of 11th. TOOLS USA Conference, Santa Barbara, Aug 1993, pp 407-426.
-
- Frankl, Phyllis G. and Roong-Ko Doong, "Tools for Testing
- Object-Oriented Programs", Proceedings of the 8th Pacific
- Northwest Conference on Software Quality, 1990, pp. 309-324.
- One author can be reached at pfrankl@polyof.poly.edu.
-
- Graham, J.A., Drakeford, A.C.T., Turner, C.D. 1993. The Verification,
- Validation and Testing of Object Oriented Systems, BT Technol
- J. Vol 11, No 3. One author's email address is
- jgraham@axion.bt.co.uk.
-
- Harrold, Mary Jean, John D. McGregor, and Kevin J. Fitzpatrick,
- "Incremental Testing of Object-Oriented Class Structures",
- International Conference on Software Engineering, May, 1992,
- ACM, Inc., pp. 68 - 80.
-
- Hoffman, Daniel and Paul Strooper. A Case Study in Class Testing.
- To be Presented at the IBM Center for Advanced Studies Fall
- Conference, October 1993, Toronto. Email addresses for authors
- are dhoffman@csr.uvic.ca and pstropp@cs.uq.oz.au. Describes an
- approach to testing which the authors call Testgraphs. An
- example is worked out in C++ which tests a commercial class.
-
- Hoffman, D. M. A CASE Study in Module Testing. In Proc. Conf. Software
- Maintenance, pp. 100-105. IEEE Computer Society, October 1989.
-
- Hoffman, D.M. and P.A. Strooper. Graph-Based Class Testing. In
- 7th Australian Software Engineering Conference (to appear), 1993.
-
- Klimas, Edward "Quality Assurance Issues for Smalltalk Based Applications",
- The Smalltalk Report, Vol. 1, No. 9, pp.3-7. The author's
- email address is "ac690@cleveland.freenet.edu".
-
- Lakos, John S. "Designing-In Quality in Large C++ Projects" Presented
- at the 10th Annual Pacific Northwest Software Quality Conference,
- Portland, Oregon, October 21, 1993. Abstract:
- The focus of this paper is on ensuring quality by
- designing software that avoids acyclic component
- dependencies. This in-turn permits incremental,
- hierarchical testing. The importance of good physical
- design becomes a key factor only for large and very
- large projects. Intuition gained from smaller projects
- leads to errors in large designs. Compile-coupling
- ("Insulation") is also discussed.
- Copies of the postscript file can be obtained by sending email
- to "john_lakos@warren.mentorg.com".
-
- Leavens, G. T., "Modular Specification and Verification of
- Object-Oriented Programs", IEEE Software, July 1991, pp. 72-80.
-
- Love, Tom. Object Lessons. SIGS Books, 588 Broadway #604, New York, NY
- 10012. $49.
- This book eloquently elucidates the need for testing of object-
- oriented code and has a chapter on how it was done at Stepstone
- during the first release of their initial class library.
-
- Marick, Brian. The Craft of Software Testing, Prentice-Hall, in press.
- Makes the argument that testing of object-oriented software is
- simply a special case of testing software which retains state
- and which is resused. The author can be reached at
- info@testing.com.
-
- Narick, Brian. "Testing Software that Reuses", Technical Note 2, Testing
- Foundations, Champaign, Illinois, 1992. Copies may be obtainable
- via email. The author can be reached at info@testing.com.
-
- Murphy, G.C., Wong, P. 1992, Towards a Testing Methodology for
- Object Oriented Systems, M.P.R Teltech Ltd. A poster at the
- Conference on Object Oriented Programming Systems, Languages
- and Applications ACM. Copies of this paper can be obtained
- through townsend@mprgate.mpr.ca.
-
- Murphy, G. and P. Wong. Object-Oriented Systems Testing Methodlogy: An
- Overview. Techical Report TR92-0656, MPR Teltech Ltd., October
- 1992.
-
- Perry, D.E. and G.E. Kaiser, "Adequate Testing and Object-Oriented
- Programming", Journal of Object-Oriented Programming,
- 2(5):13-19, Jan/Feb 1990.
-
- Purchase, Jan A. and Russel L. Winder, "Debugging tools for
- object-oriented programming", Journal of Object-Oriented
- Programming, June, 1991, Vol. 4, No. 3, pp. 10 - 27.
-
- Smith, M. D. and D. J. Robson, " A Framework for Testing Object-Oriented
- Programs", JOOP, 5(3):45-53, June 1992.
- Describes ways in which the usual approach to software testing
- could be adapted for object-oriented software.
- This paper, or one with the same title and authors, is
- available by anonymouns ftp from vega.dur.ac.uk as
- "/pub/papers/foot.dvi".
-
- Smith, M. D. and D. J. Robson, "Object-Oriented Programming - the
- Problems of Validation", Proceedings of the 6th International
- Conference on Software Maintenance 1990, IEEE Computer Society
- Press, Los Alamitos, CA., pp. 272-281.
-
- Taylor, David. "A quality-first program for object technology", Object
- Magazine, Vol. 2, No. 2, July-August 1992, pp17-18. SIGs
- Publications. The article talks some about why testing is
- important for OOP and describes one quality program.
-
- Theilen, David. "No Bugs. Delivering error free code in C and C++.",
- Addison-Wesley, 1992, ISBN:0-201-60890-1.
-
- Turner, C. D. and D. J. Robson, "The Testing of Object-Oriented Programs",
- Technical Report TR-13/92, Computer Science Division, School of
- Engineering and Computer Sciences (SECS), University of Durham,
- England.
- Includes a survey of existing literature on testing of OO
- programs. Testing of OOP is compared with traditional software
- testing. A state-based approach is described.
- This paper is available by anonymous ftp from vega.dur.ac.uk in
- /pub/papers. Get "toop.ps.Z" for A4 paper and "toopus.ps.Z" for
- US letter paper formatting.
-
- Turner, C. D. and D. J. Robson, "A Suite of Tools for the State-Based
- Testing of Object-Oriented Programs", Technical Report
- TR-14/92, Computer Science Division, School of Engineering and
- Computer Science (SECS), University of Durham, Durham,
- England. Describes a series of tools for the generation and
- execution of test cases for OOP. These tools assume a
- state-based testing approach.
- This paper is available by anonymous ftp from vega.dur.ac.uk in
- /pub/papers. Get "tools.ps.Z" for A4 paper formatting or get
- "toolsus.ps.Z" for US letter formatting.
-
- Turner, C. D. and D. J. Robson, "Guidance for the Testing of Object-
- Oriented Programs", Technical Report TR-2/93, Computer Science
- Division, School of Engineering and Computer Science (SECS),
- University of Durham, Durham, England. Discusses different
- methods of making class declarations and the implications of
- those methods for testing.
- This paper is available by anonymous ftp from vega.dur.ac.uk in
- /pub/papers. Get "guide.ps.Z" for A4 paper formatting or get
- "guideus.ps.Z" for US letter formatting.
-
- Turner, C. D. and D. J. Robson, "State-Based Testing and Inheritance",
- Technical Report TR-1/93, Computer Science Division, School of
- Engineering and Computer Science (SECS), University of Durham,
- Durham, England.
- Discusses the implications of inheritance for testing,
- particularily incremental testing.
- This paper is available by anonymous ftp from vega.dur.ac.uk in
- /pub/papers. Get toopinht.ps.Z" for A4 paper formatting or get
- "toopinhtus.ps.Z" for US letter formatting.
-
- Wong, P. Automated Class Exerciser (ACE) User's Guide. Technical
- Report TR92-0655, MPR Teltech Ltd., September 1992.
-
- > Courses
-
- Berard Software Engineering, Inc. teaches a seminar on Testing of
- Object-Oriented Software (TOOS). The next one scheduled that I know of
- is November 8-12, in Washington. Call 301-417-9884 for details.
-
- Quality Fractals, Inc. has a course called "Testing Object-Oriented
- Software". Contact: 508-359-7273 (Box 337, Medfield, MA 02052). The
- course is taught by Shel Siegel of YESS!, Inc. Contact: 916-944-1032.
-
-
- > Software
-
- There is a smalltalk class library in the Univ. of Illinois archives
- which includes a simple Tester class written by Bruce Samuelson
- (bruce@utafll.uta.edu). It is a general superclass for application
- specific classes that test non-interactive objects such as trees,
- collections, or numbers. It is not suitable for testing user interface
- components such as windows, cursors, or scroll bars. The filein
- includes Tree classes, Tester itself, and subclasses of Tester that are
- used to validate the Tree classes. For ParcPlace Smalltalk (ObjectWorks
- 4.1 and VisualWorks 1.0). To get it ftp the file
- "/pub/st80_vw/TreeLW1.1" from st.cs.uiuc.edu.
-
- IPL Ltd. (in the UK) has a testing tool called Cantata which allows for
- testing C++, but as far as I am able to determine, it has no special
- features for C++ testing. From the product literature:
- Cantata allows testing to be performed in an intuitive way
- making the tool exceptionally easy to use and productive in
- operation. Cantata is suitable for testing software written in
- either C or C++.
-
- Cantata provides comprehensive facilities for all forms of
- dynamic testing, including: functional testing, structural
- testing, unit testing and integration testing. Cantata has been
- specifically designed to operate in both host and target
- systems and so allow full portability of tests between these
- environments.
- For more information contact IPL:
- IPL Ltd.
- Eveleigh House, Grove Street,
- Bath BA1 5LR
- UK
- (0225) 444888
- (0225) 444400 (FAX)
- email: shaun@iplbath.demon.co.uk
-
- TestCenter from CenterLine will do coverage testing of C++ (and C)
- code. Also does some memory debugging (similar to Purify) and regression
- testing. Highlights from CenterLine literature:
- *Automatic run-time error-checking on executables to enhance quality
- *Automatic memory leak detection on executables to optimize memory use
- *Graphical test coverage to highlight any code not executed during test runs
- *Intuitive GUI for easy test analysis
- *Programmatic interface to output files and cumulative code coverage
- to support batch-mode and regression testing
- *No recompilation needed, resulting in quick turnaround
- *Complete C and C++ language support
- *Integration with leading programming tools for maximum productivity gains
-
- MicroTech Pacific Research (mpr.ca) has a C++ class testing tool called
- ACE (Automated Class Exerciser) which is available under non-disclosure
- agreement. It is not currently for sale. If you are interested,
- contact Paul Townsend, townsend@mprgate.mpr.ca.
-
- Software Research Inc. (625 Third St, San Francisco, CA 94107-1997,
- voice: 1-415-957-1441, email: info@soft.com) has a coverage tool for C++
- that is called tcat++. It is an extension of SRI's tcat program.
-
- Quality Assured Software Engineering (938 Willowleaf Dr., Suite 2806,
- San Jose, CA 95128, voice: 1-408-298-3824 ) has a coverage tool for
- C and C++ called MetaC. It also dones some syntax checking and memory
- allocation checking.
-
- A group of volunteers is building a C++ test harness for the automated
- testing of C++, C and Perl programs. The system is called ETET (Extended
- Test Environment Toolkit). To join the group of volunteers, send email to
- etet_support@uel.co.uk
- The software is available via anonymous FTP from bright.ecs.soton.ac.uk
- (152.78.64.201) as "/pub/etet/etet1.10.1.tar.Z". They are looking for
- other FTP sites - sned email to the above address if you can provide
- one. This is a beta release and _should_ compile on any POSIX.1 system.
- As much of this work is being done by SunSoft, my guess is that the
- software will have the fewest problems on SunOS or Solaris releases.
-
- > ACKs
-
- Thanks to the following for helping assemble this list:
- Benjamin C. Cohen, bcohen@scdt.intel.com
- Brian Marick, marick@hal.cs.uiuc.edu
- Bruce Samuleson, bruce@utafll.uta.edu
- Daniel M. Hoffman, dhoffman@uvunix.uvic.ca
- Edward Klimas, ac690@cleveland.freenet.edu
- John Graham, J.Graham@axion.bt.co.uk
- Jim Youlio, jim@bse.com
- Jeffery Brown, jeffrey.brown@medtronic.com
- Lars Jonsson, konlajo@etna.ericsson.se
- Manfred Scheifert, ch_schie@rcvie.co.at
- Mark Swanson, mswanson@mechmail.cv.com
- Mary L. Schweizer, mary@gdwest.gd.com
- Michael Einkauf, Michael_Einkauf@iegate.mitre.org
- Paul Townsend, townsend@mprgate.mpr.ca
- Phyllis G. Frankl, pfrankl@polyof.poly.edu
- Rachel Harrison, rh@ecs.soton.ac.uk
- Risto Hakli, rkh@tko.vtt.fi
- Russ Hopler, russ@bse.com
- Stephane Barbey, barbey@di.epfl.ch
- Tony Reis, tonyr@hpsadln.sr.hp.com
- Yawar Ali, yali@bnr.ca
-
-
- 3.12) What Distributed Systems Are Available?
- ---------------------------------------------
-
- The following post helps to provide some answers with at least a partial list.
- See also Appendix E.
-
- From: rmarcus@bcsaic.boeing.com (Bob Marcus)
- Newsgroups: comp.object,comp.client-server
- Subject: Distributed Computing Products Overview
- Date: 17 Sep 93 00:02:40 GMT
- Organization: Boeing Computer Services
-
- DISTRIBUTED COMPUTING PRODUCTS OVERVIEW
-
- There was a recent posting concerning the relationship between OMG's CORBA
- and Distributed Transaction Processing Monitors. In general, there is a lot of
- uncertainty as to how the various distributed computing tools, products and
- environments might work together. Below is the outline of an eight-page
- posting to the Corporate Facilitators of Object-Oriented Technology (CFOOT)
- mailing list addressing these issues. Let me know if you would like a copy
- of the posting and/or to be added to the CFOOT mailing list.
-
- Bob Marcus
- rmarcus@atc.boeing.com
- -----------------------------------------------------------------------
- SOME GENERAL REFERENCES FOR ADDITIONAL INFORMATION
- -----------------------------------------------------------------------
- MULTIPROTOCOL NETWORK TRANSPORTS
-
- Peer Logic (PIPES)
- ATT (Transport Layer Interface)
- -----------------------------------------------------------------------
- MICROKERNELS
-
- OSF(Mach)
- Chorus Systems (Chorus)
- Microsoft (NT)
- -----------------------------------------------------------------------
- REMOTE PROCEDURE CALLS
-
- NobleNet (EZ-RPC)
- Netwise (Netwise-RPC)
- ATT/Sun (TI-RPC)
- OSF (DCE/RPC)
- -----------------------------------------------------------------------
- CONVERSATIONAL PROGRAMMING
-
- IBM(Common Programming Interface-Communications)
- -----------------------------------------------------------------------
- MESSAGING PRODUCTS
-
- System Strategies/IBM (MQ Series)
- Horizon Strategies (Message Express)
- Covia Systems(Communications Integrator)
- Momentum Software(X-IPC)
- Creative System Interface (AAI)
- Digital (DECmessageQ)
- HP (Sockets)(BMS)
- IBM (DataTrade)(DAE)
- Suite Software (SuiteTalk)
- Symbiotics (Networks)
- -----------------------------------------------------------------------
- PUBLISH AND SUBSCRIBE MESSAGING
-
- Sun(Tooltalk)
- Teknekron (Teknekron Information Bus)
- ISIS(Distributed News)
- Expert Database Systems (Rnet)
- ----------------------------------------------------------------------
- DISTRIBUTED COMPUTING ENVIRONMENTS
-
- OSF/DCE
- ISIS(Distributed Toolkit)
- -----------------------------------------------------------------------
- TRANSACTION PROCESSING MANAGERS
-
- Unix Systems Lab (Tuxedo)
- Information Management Company (Open TransPort)
- NCR (TopEnd)
- Transarc (Encina)
- IBM/HP/Transarc (Open CICS)
- -----------------------------------------------------------------------
- DISTRIBUTED WORKSTATION EXECUTION SYSTEMS
-
- Aggregate Systems (NetShare)
- Platform Computing(Utopia)
- ISIS(Resource Manager)
- -----------------------------------------------------------------------
- OBJECT REQUEST BROKERS
-
- Hyperdesk (Distributed Object Manager)
- IBM Distributed System Object Model(DSOM)
- Microsoft (Distributed OLE)
- Iona Technologies Ltd. (Orbix)
- BBN (Cronus)
- ISIS (RDOM)
- Qualix (NetClasses)
- Symbiotics (Networks!)
- Digital(ACA Services)
- Suite Software (SuiteDOME)
- -----------------------------------------------------------------------
- SYSTEM MANAGEMENT
-
- OSF (Distributed Management Environment)
- Legent
- Digital Analysis (HyperManagement)
- -----------------------------------------------------------------------
- DISTRIBUTED DEVELOPMENT/EXECUTION PRODUCTS
-
- Texas Instruments (Information Engineering Facility)
- HP (SoftBench)
- Digital (COHESIONworX)
- -----------------------------------------------------------------------
- DISTRIBUTED DEVELOPMENT/EXECUTION PRODUCTS
-
- Independence Technologies (iTRAN)
- Intellicorp(Kappa)
- ISIS Distributed Systems (RDOM)
- Early, Cloud & Company (Message Driven processor)
- Expersoft(XShell)
- Cooperative Solutions(Ellipse)
- -----------------------------------------------------------------------
-
-
- 3.13) What Is The MVC Framework?
- --------------------------------
-
- MVC stands for Model-View-Controller. This framework was originally adopted
- in Smalltalk to support Graphical User Interfaces. Views support graphical
- interfacing, controllers handle interaction, and models are the application
- objects. More details and references will be included in future FAQs.
-
- "A Cookbook for Using the Model-View-Controller User Interface Paradigm in
- Smalltalk-80". G. E. Krasner and S. T. Pope. JOOP, vol 1, no 3, August/
- September, 1988, pp 26-49,
-
-
- 3.14) What is Real-Time?
- ------------------------
-
- Real-time is our linear extrapolation/perception of imaginary time.
-
- [This section is YTBI]
-
-
- SECTION 4: COMMONLY ASKED LANGUAGE SPECIFIC QUESTIONS
- ======================================================
-
- 4.1) What is Downcasting?
- --------------------------
-
- Downcasting is the term used in C++ for casting a pointer or reference to
- a base class to a derived class. This should usually be checked with an
- embedded dynamic typing scheme if such a scheme is not present in the
- language, such as with a typecase (Modula-3) or inspect (Simula) construct.
- In C++, it is even possible to use conversion functions to perform some
- checks, although the proposed RTTI will perform checked downcasting as
- its primary ability.
-
-
- 4.2) What are Virtual Functions?
- ---------------------------------
-
- Look under "Dynamic Binding" and "Polymorphism".
-
-
- 4.3) Can I Use Multiple-Polymorphism Or Multi-Methods In C++?
- ---------------------------------------------------------------
-
- Yes, but you'll need to embed a dynamic typing scheme to do it. With dynamic
- types in place, an overriding method in a derived class can explicitly check
- argument types in a switch statement and invoke the desired method emulating
- multiple-polymorphism [See Coplien 92].
-
- For true CLOS multi-methods, the above technique implemented as a base function
- (CLOS defgeneric), switching to specialized functions (CLOS methods, made
- friends of all arguments) will provide the functional calling syntax, multiple-
- polymorphism and access to parameters found in CLOS. This can require some
- complex switching, which is somewhat mitigated when multiple-polymorphism
- is implemented with virtual functions.
-
- Future FAQs should contain more detail.
-
-
- 4.4) Can I Use Dynamic Inheritance In C++?
- -------------------------------------------
-
- Yes, [Coplien 92] describes a scheme where a class can contain a pointer to
- a base class that can switch between its derived classes, providing a limited
- form. Earlier chapters contain entries on bypassing C++'s message system and
- even bypassing static linking.
-
- Future FAQs should contain more detail.
-
-
-
- ANNOTATED BIBLIOGRAPHY
- ======================
-
- [Agrawal 91] R. Agrawal et al. "Static Type Checking of Multi-Methods".
- OOPSLA 91. Object-Oriented Programming Systems, Languages, and Applications.
- ACM Press. Addison Wesley.
-
- Compile-time checking and optimizations for multi-methods.
-
- [Aho 86] Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman. Compilers:
- Principles, Techniques, and Tools. Reading, MA: Addison-Wesley, 1986.
-
- Authoritative, classic book on compilers and optimizations. Type chapter
- contains section on type inferencing (using ML as an example).
-
- [Berard 93] Edward V. Berard. Essays on Object-Oriented Software
- Engineering. Prentice Hall.
-
- Many topics on OOSE, includes coverage of OO domain and requirements
- analysis.
-
- [Black 86] A. Black et al. Object-Structure in the Emerald System. OOPSLA
- '86 Conference Proceedings, SIGPLAN Notices (Special Issue), Vol. 21, n0. 11,
- pp 78-86. [I believe there is a more recent article, YTBI]
-
- The original article on Emerald. OO language without inheritance but with
- abstract types and static subtype polymorphism. Also designed for
- distributed programming and reuse. See article for references: Jade on
- reuse [Raj 89]) and Distr. Prog.
-
- [Black 87] A. Black, N. Hutchinson, E. Jul, H. Levyand L. Carter. Distribution
- and Abstract Types in Emerald, IEEE Transactions on Software Engineering, Vol.
- SE13, no. 1 Jam., pp 65-76.
-
- Subtype polymorphism for distributed programming in Emerald [Black 86].
-
- [Blair 89] "Genericity vs Inheritance vs Delegation vs Conformance vs ..."
- Gordon Blair, John Gallagher and Javad Malik, Journal of Object Oriented
- Programming, Sept/Oct 1989, pp11-17.
-
- Recommended by a reader, but the Author has yet to review this article.
-
- [Boehm 86] B.W. Boehm. A Spiral Model of Software Development and Enhancement.
- Software Engineering Notes, Aug., vol. 11 (4), p 22.
-
- Presents an alternative evolutionary approach to the strict waterfall software
- engineering life-cycle. Now a classic, most OO methodologies now emphasize
- the iterative or evolutionary approach to software development.
-
- [Booch 87] Grady Booch. Software Engineering with Ada. 2nd Ed. Benjamin
- Cummings.
-
- Booch in his early years. Mostly object-based programming with Ada.
-
- [Booch 87b] Grady Booch. Software Components With Ada, Structures, Tools,
- and Subsystems. Benjamin Cummings.
-
- A taxonomy and collection of object-based components in Ada (includes code).
- Has many examples with generics.
-
- [Booch 91] Booch, Grady. Object-Oriented Design With Applications. Benjamin
- Cummings.
-
- The often referred to book on OOD. Offers design notation and methodology.
- Brief coverage of OOA and elaborate OOD/P coverage in the applications.
- Good on basic principles and has case studies in Smalltalk, Object Pascal,
- C++, CLOS and Ada.
-
- Also contains an *elaborate* classified bibliography on many areas of OO.
-
- [Booch 94] Grady Booch. Object-Oriented Analysis And Design With
- Applications, 2nd Ed. Benjamin Cummings. ISBN 0-8053-5340-2.
-
- The next FAQ should be updated to the second edition. All examples are now
- in C++. Booch incorporates several other major methodologies including
- Wirf-Brock's CRC (Class-Responsibility-Collaboration) and Jacobson's Use-
- Cases.
-
- [Cardelli 85] L. Cardelli and P. Wegner. On Understanding Types, Data
- Abstraction, and Polymorphism. ACM Computing Surveys vol. 17 (4).
-
- Long, classic article on Object-Oriented Types, Data Abstraction and
- Polymorphism. Formal coverage with a type system analysis model as well.
-
- [Chambers 92] Craig Chambers. The Design and Implementation of the SELF
- Compiler, an Optimizing Compiler for Object-Oriented Programming Languages.
- Dept of Computer Science, Stanford University, March 1992.
-
- Covers type optimizations for OO compilers. See Appendix E, PAPERS.
-
- [Chambers 93] Craig Chambers. Predicate Classes. Proceedings ECOOP '93
- O. Nierstrasz, LNCS 707. Springer-Verlag, Kaiserslautern, Germany
- July 1993 pp 268-296
-
- "... an object is automatically an instance of a predicate class whenever
- it satisfies a predicate expression associated with the predicate class.
- The predicate expression can test the value or state of the object, thus
- supporting a form of implicit property-based classification that augments
- the explicit type-based classification provided by normal classes. By
- associating methods with predicate classes, method lookup can depend not
- only on the dynamic class of an argument but also on its dynamic value or
- state. [...] A version of predicate classes has been designed and
- implemented in the context of the Cecil language.
-
- See Appendix E, PAPERS.
-
- [de Champeaux 93] Dennis de Champeaux, Doug Lea, Penelope Faure.
- Object-Oriented System Development. Addison-Wesley, ISBN 0-201-56355-X.
-
- Covers an integrated treatment of OOA and OOD. Takes serious the
- computational model of one thread per object. Gives more than usual
- attention to the OOA&D micro process. Presents a unique OOD language.
-
- [Coad 91] Peter Coad and Edward Yourdon. Object-Oriented Analysis, 2nd ed.
- Englewood Cliffs, NJ. Prentice Hall.
-
- Coad and Yourdon's OO analysis method.
-
- [Coad 91b] Peter Coad and Edward Yourdon. Object-Oriented Design. Englewood
- Cliffs, NJ. Prentice Hall.
-
- Coad and Yourdon's OO design method.
-
- [Coleman 94] Derek Coleman, et. al. Object-Oriented Development - The Fusion
- Method. Prentice-Hall Object-Oriented Series. ISBN 0-13-338823-9
-
- Fusion is considered to be a second generation OOAD method in that it builds
- on successful components of a number of first generation methods (OMT, Booch,
- CRC, Objectory, etc). However, this has been done with the requirements of
- industrial software developers in mind. And so issues of traceability,
- management etc. have been taken into consideration and the Method provides
- full coverage from requirements through to code.
-
- [Coplien 92] James O. Coplien. Advanced C++ Programming Styles and Idioms.
- Addison Wesley.
-
- Covers advanced C++ programming and performing other more advanced and
- dynamic styles of OO in C++.
-
- [Colbert 89] E. Colbert. The Object-Oriented Software Development Method: a
- practical aproach to object-oriented development. Tri-Ada Proc., New York.
-
- Presents the Object-Oriented Software development method. Has emphasis on
- objects.
-
- [Cox 86,91] Cox, Brad J. Object-Oriented Programming, An Evolutionary
- Approach. Addison Wesley.
-
- The original book on Objective-C. Coverage on object-oriented design and
- programming. Also covers Objective-C implementation, even into object code.
-
- Objective-C... '91 AW by Pinson and Wiener provide another good text.
-
- [Embley 92] D.W. Embley, B.D. Kurtz, S.N. Woodfield. Object-Oriented Systems
- Analysis, A Model-Driven Approach. Yourdon Press/Prentice Hall, Englewood
- Cliffs, NJ.
-
- Presents the Embley and Kurtz OO methodology.
-
- [Garfinkel 93] Simson L. Garfinkel and Michael K. Mahoney. NeXTSTEP
- PROGRAMMING STEP ONE: Object-Oriented Applications. Springer-Verlag.
-
- Introduction to the NextStep environment and applications development.
-
- [Goldberg 83] Adele Goldberg and David Robson. Smalltalk-80 The Language and
- Its Implementation. Addison Wesley.
-
- The original book on Smalltalk. Covers implementation. Also known as "the
- Blue Book". Out of print. Superceded by [Goldberg ??].
-
- [Goldberg ??] Adele Goldberg and David Robson. Smalltalk-80: The Language.
- Addison-Wesley.
-
- The "Purple Book". Omits the obsolete abstract virtual machine description
- from the Blue Book.
-
- [Harmon 93] Paul Harmon. Objects In Action: Commercial Applications Of Object-
- Oriented Technologies. Jan, 1993. A-W ISBN 0-201-63336-1.
-
- Sponsored by the OMG to summarize the use of OO technology in industry and
- business, contains a brief history and summary of OO and many case studies.
-
- [HOOD 89] HOOD Working Group. HOOD Reference Manual Issue 3.0. WME/89-173/JB.
- Hood User Manual Issue 3.0. WME/89-353/JB. European Space Agency.
-
- Presnets the HOOD (Hierarchical Object-Oriented Design) OOSE methodology.
- From the European Space Agency. Based on Ada and object-based.
-
- [Hudak 92] Paul Hudak and Simon Peyton Jones. Haskell Report. SIGPLAN Notices.
- 1992, vol 27, no 5.
-
- Haskell reference.
-
- [Humphrey 89] Watts Humphrey. Managing the Software Process. Addison Wesley.
-
- Sponsored by the Software Engineering Institute (SEI), the presented project
- management model is inspired by the work of Boehm, Brooks, Demming and Juran
- and represents a strong step in the direction of achieving 6 sigma defect
- rate prevention and optimizing the software development process for quality,
- productivity, and reliability.
-
- [IBM 90,91] Various Documents from the IBM International Technical Centers:
- GG24-3647-00, GG24-3641-00, GG24-3566-00, GG24-3580-00.
-
- Present IBM's OOSE methodology.
-
- [Jacobson 92] Ivar Jacobson, et al. Object-Oriented Software Engineering - A
- Use Case Driven Approach. ACM Press/Addison Wesley.
-
- Presents Jacobson's new OOSE methodology based on use cases.
-
- [Jones 92] Rick Jones. Extended type checking in Eiffel. Journal of Object-
- Oriented Programming, May 1992 issue, pp.59-62.
-
- Presents subtype polymorphic extension to Eiffel (static typing only).
-
- [Jurik 92] John A. Jurik, Roger S. Schemenaur, "Experiences in Object Oriented
- Development," ACM 0-89791-529-1/92/0011-0189.
-
- Presents the EVB OOSE methodology. Also: Barbara McAllister, Business
- Development, EVB Software Engineering, Inc., (301)695-6960, barb@evb.com.
-
- [Kiczales 92] Gregor Kiczales, Jim des Rivieres, Daniel G. Bobrow. The Art
- of the Metaobject Protocol. The MIT Press.
-
- Reflection and Metaobject Protocols (MOPs). Uses a CLOS subset, clossette,
- as a foundation.
-
- [Kim 89] Won Kim and Frederick Lochovsky Editors. Object-Oriented Concepts,
- Applications, and Databases.
-
- Collection of articles on advanced OO and research systems.
-
- [Lakoff 87] George Lakoff. Women, Fire, and Dangerous Things: What Categories
- Reveal About The Mind. UOC Press.
-
- An almost formal view of classification/categorization by the noted cognitive
- scientist, George Lakoff. His view blasts objectivism and contends to
- replace it with a subjectivist view, based on a study of humans, natural
- language, and concept formation.
-
- [LaLonde 90] Wilf R. LaLonde and John R. Pugh. Inside Smalltalk: Volume 1.
- Prentice Hall.
-
- Good introduction to Smalltalk.
-
- [LaLonde 90b] Wilf R. LaLonde and John R. Pugh. Inside Smalltalk: Volume 2.
- Prentice Hall.
-
- Excellent coverage of MVC. However, it's based on ParcPlace Smalltalk-80,
- version 2.5, which is obsolete.
-
- [Liskov 93] Barbara Liskov and Jeannette M. Wing. Specifications and Their use
- in Defining Subtypes. OOPSLA 93, pp 16-28. ASM SIGPLAN Notices, V 28, No 10,
- Oct. 1993. A-W ISBN 0-201-58895-1.
-
- Specifications on Subtype hierarchies. Helps to insure the semantic
- integrity of a separate subtype system. See section 2.7.
-
- [Madsen 93] Ole Lehrmann Madsen, Birger Moller-Pedersen, Kristen Nygaard:
- Object-oriented programming in the BETA programming language. Addison-Wesley,
- June 1993. ISBN 0 201 62430 3
-
- The new and authoritative book on Beta, by the original designers. They
- are some of the same designers of the Simula languages, originating OO.
- Also just announced:
- Object-Oriented Environments: The Mjolner Approach
- Editors: Jorgen Lindskov Knudsen, Mats Lofgren, Ole Lehrmann Madsen,
- Boris Magnusson
- Prentice Hall: The Object-Oriented Series
- ISBN: 0-13-009291-6 (hbk)
-
- [Martin 92] James Martin and James J. Odell. Object-Oriented Analysis and
- Design, Prentice-Hall, Englewood Cliffs, NJ.
-
- Its primary purpose is to indicate how information engineering (IE) can be
- evolved to accommodate OO. The analysis portion (starting at Chapter 15)
- attempts to go back to 'first principles' and is based on a formal foundation.
- Therefore, the IE aspect is not required. Emphasis is more on analysis than
- design.
-
- [Meyer 88] Bertrand Meyer. Object-Oriented Software Construction. Prentice
- Hall. [Is there a new edition out?]
-
- The original book on Eiffel. Coverage on object-oriented design and
- programming. Also:
- Bertrand Meyer. Eiffel: The Language. PH. Englewood Cliffs, NJ. 1991(?)
-
- [Mugridge 91] Warwick B. Mugridge et al. Multi-Methods in a Statically-Typed
- Programming Language. Proc. ECOOP.
-
- Efficient implementation of Multi-Methods.
-
- [Murray 93] Robert B. Murray. C++ Strategies and Tactics. Addison Wesley.
-
- C++, has template examples.
-
- [Nerson 92] Jean-Marc Nerson. Applying Object-Oriented Analysis and Design.
- CACM, 9/92.
-
- Demonstrates the basics of the BON method/notation. Nerson: marc@eiffel.fr
-
- [Raj 89] R.K. Raj and H.M. Levy. A Compositional Model for Software Reuse.
- The Computer Journal, Vol 32, No. 4, 1989.
-
- A novel approach aading reuse to Emerald [Black 86] without inheritance.
-
- [Reenskaug 91] T. Reenskaug, et al. OORASS: seamless support for the creation
- and maintenance of object-oriented systems. Journal of Object-Oriented
- Programming, 5(6).
-
- Presents the Object-Oriented Role Analysis, synthesis, and Structuring
- OOSE methodology.
-
- [Royce 70] W. W. Royce. Managing the Development of Large Software Systems.
- Proceedings of IEEE WESCON, August 1970.
-
- Introduces the Waterfall Process Model.
-
- [Rumbaugh 91] Rumbaugh James, et al. Object-Oriented Modeling and Design.
- Prentice Hall.
-
- The often referred to book on OOA/OOD. Introduces the Object Modeling
- Technique (OMT) OOA/D notation and methodology. Has case studies.
-
- [Sciore 89] Edward Sciore. Object Specialization. ACM Transactions on
- Information Systems, Vol. 7, No. 2, April 1989, p 103.
-
- A hybrid approach between delegation and classical OO.
-
- [Shlaer 88] Sally Shlaer and Stephen J. Mellor. Object-Oriented Systems
- Analysis: Modeling the World in Data.
-
- Credited as the first book proposing an OOA method.
-
- [Shlaer 92] Sally Shlaer and Stephen J. Mellor. Object Lifecycles: Modeling
- the World in States.
-
- An addition to [Shlaer 88], provides dynamic modeling with a state-
- transition driven approach.
-
- [Strachey 67] C. Strachey. Fundamental Concepts in programming languages.
- Lecture Notes for International Summer School in Computer Programming,
- Copenhagen, Aug.
-
- Contains original, classical definition of polymorphism.
-
- [Stroustrup 90] Ellis, M.A., Stroustrup. The Annotated C++ Reference Manual.
- Addison Wesley.
-
- The ARM; the original and definitive book on C++. Serves as the ANSI
- base document for C++. Also covers C++ implementation. It is meant as
- a reference (including for compiler writers), not as a tutorial for
- beginners. Perhaps a better ref is [Stroustrup 91].
-
- [Stroustrup 91] Stroustrup, B. The C++ Programming Language (2nd edition).
-
- Has the ARM, better reference for the use of C++ (recommended by bs).
- Contains sections on object-oriented software engineering.
-
- [Tasker 93] Dan Tasker. The Problem Space, Practical Techniques for
- Gathering & Specifying Requirements. ISBN: 0-646-12524-9. Avail only from
- author, dant@swdev.research.otc.com.au.
-
- Object-oriented requirements definition. Hypertext. Uses Rumbaugh's OMT as
- a base. See also APPENDIX D.
-
- [Ungar 87] D. Ungar and R.B. Smith. The Self Papers. [Entry To Be Completed]
-
- The documents on Self; a delegation/prototyping language. Also covers Self
- implementation and optimization. See also APPENDIX E, PAPERS section.
-
- [Wasserman 90] A.I. Wasserman et al. The Object-Oriented Software Design
- Notation for Software Design Representation. IEEE Computer, 23(3).
-
- Presents the Object-Oriented Structured Design (OOSD) OOSE methodology.
- Traditional structured techniques to OO, hybrid containing structured
- design and Booch.
-
- [Wegner 87] Peter Wegner. "Dimensions of Object-Based Language Design",
- Proceedings of OOPSLA '87, October 4-8 1987, SIGPLAN Notices
- (Special Issue), V22, No 12, pp168-182, 1987.
-
- [Wikstrom 87] Ake Wikstrom. Functional Programming Using Standard ML.
- Prentice Hall, ISBN 0-13-331661-0, 1987.
-
- ML reference.
-
- [Wilkie 93] George Wilkie. Object-Oriented Software Engineering - The
- Professional Developer's Guide. Addison Wesley.
-
- Covers OOSE, 11 popular analysis and design methodologies with examples,
- comparisons, and analysis, information systems (OODB), and case studies.
-
- [Winter Partners] Winter Partners
-
- A proprietary toolset (OSMOSYS) for OOA and OOD.
- Winter Partners
- London Office: Zurich Office:
- West Wing, The Hop Exchange
- 24a Southwark Street Florastrasse 44
- London SE1 1TY CH-8008 Zurich
- England Switzerland
- Tel. +44-(0)71-357-7292 Tel. +41-(0)1-386-95 11
- Fax. +44-(0)71-357-6650 Fax. +41-(0)1-386-95 00
-
- [Wirfs-Brock 90] Rebecca Wirfs-Brock, Brian Wilkerson, Lauren Wiener.
- Designing Object Oriented Software, Englewood Cliffs, NJ. Prentice Hall.
-
- Presents a "Responsibility Driven Design" (RDD) with "Class, Responsibility,
- Collaboration" (CRC) technique, a modern and new OOA/OOD methodology.
-
- [Yaoqing 93] Gao Yaoqing and Yuen Chung Kwong. A Survey of Implementations
- of Parallel, Concurrent, and Distributed Smalltalk. ACM SIGPLAN Notices.
- Vol 28, No. 9, Sept 93.
-
- Covers implementations of Parallel, Concurrent, and Distributed Smalltalk.
-
- [Yourdon 92] Edward Yourdon. Decline and Fall of the American Programmer.
- YPCS.
-
- Excellent coverage of modern software engineering practice and world-class
- software development organizations.
-
-
-
- APPENDICES
- ==========
-
-
- APPENDIX A VIPS
- ================
-
- These are individuals whose names appear in comp.object most often.
- Please send recommendations for *major* VIPS often cited or referenced.
-
- Booch, Grady <egb@rational.com>
- -------------------------------
-
- Grady Booch has been an object-oriented Ada advocate for some time. He's
- written books such as Software Engineering with Ada, Software Components
- with Ada, and OOD with Applications. The first two are Object-Based and
- the second is primarily Object-Oriented and all use OB and OO notations and
- methodologies. His last notations are often referred to as simply the
- "Booch" method or notation and his company, Rational, provides automated
- support with a tool named "Rose". See also APPENDIX D.
-
-
- Cox, Brad
- ---------
-
- Founder of Objective-C, which grafts the Smalltalk facilities of an
- Object id and a messaging mechanism onto C. Author of [Cox 87].
-
-
- Goldberg, Adele (Alan Kay, Dan Ingalls)
- ----------------------------------------
-
- One of the founders of Smalltalk (with Alan Kay and Dan Ingalls). Coauthor
- of [Goldberg 83, ??], "Smalltalk-80 The Language and its Implementation".
- Smalltalk was invented by a group at Xerox PARC; and a spinoff, ParcPlace, is
- now marketing Smalltalk environments (see APPENDIX C).
-
-
- Meyer, Bertrand <bertrand@eiffel.com>
- -------------------------------------
-
- Founder of Eiffel, author of [Meyer 88]. Often posts to comp.lang.eiffel
- and comp.object [what a FAQ writer notices]. His company, Interactive
- Software Engineering, has a case tool called EiffelCase (see APPENDIX D).
-
-
- Nygaard, Krysten (and Dahl, Ole-Johan)
- --------------------------------------
-
- Inventor of Simula, the first object-oriented programming language. Also
- inventor of object oriented design, for which Simula-67 was considered an
- implementation technique. Now B.B. Kristensen, O.L. Madsen, B. Moller-
- Pedersen, and K. Nygaard are working on Beta, their successor to Simula.
-
-
- Rumbaugh, James
- ---------------
-
- Part of Rumbaugh, Blaha, Premerlani, Eddy and Lorenson, the authors of
- [Rumbaugh 91]. They all work for GE Corporate Research and Development Center
- in Schenectady New York and have an OOA/OOD notation/methodology called the
- "Object Modeling Technique". It is a rather formal and complete method often
- discussed in comp.object. OMTool is the name of the CASE system provided by
- GE which supports OMT. See APPENDIX D.
-
-
- Shlaer, Sally (and Mellor, Stephen J.)
- --------------------------------------
-
- >Sally Shlaer sally@projtech.com
- >Project Technology Training and Consulting using Shlaer-Mellor OOA/RD
- >Berkeley, CA (510) 845 1484
-
- Cofounder of the Shlaer/Mellor OOA/RD method, president of Project Technology.
- As shown above, occasionally posts to comp.object [what a FAQ writer notices].
-
-
- Stroustrup, Bjarne (bs@alice.att.com)
- -------------------------------------
-
- Inventor of C++, a C superset, which has probably gained the most widespread
- use of any object-oriented language today. Often found in comp.lang.c++ and
- comp.object.
-
-
-
- APPENDIX B OBJECT-ORIENTED DATABASES AND VENDORS
- =================================================
-
- This is a list of available Object-Oriented databases. Thanks go to Stewart
- Clamen, who's survey on schema evolution provided a good start. Additional
- short entries are encouraged; please send additions to the author of the FAQ
- (and/or to Stewart).
-
- The most recent copy of Stewart Clamen's summary on available databases
- support for schema evolution will be available indefinitely via anonymous
- FTP from BYRON.SP.CS.CMU.EDU:/usr/anon/OODBMS/evolution-summary.
-
- [Kim 89] covers a few of the research systems below in depth.
-
- Starred entries also have an entry in "APPENDIX E ANONYMOUS FTP SITES".
-
-
- TABLE OF CONTENTS
-
- Extended Relational Database Model
- Research Systems
- POSTGRES* [marketed by Montage]
- Starburst [IBM almaden, entry NYI]
- Commercial Systems
- Montage [Research System POSTGRES]
-
- Object-Oriented Data Model
- Research Systems
- AVANCE
- CLOSQL
- ConceptBase*
- COOL/COCOON
- Encore*
- Exodus*
- Machiavelli
- MOOD4-PC*
- OBST/STONE*
- Ode*
- Oggetto
- Orion [marketed as ITASCA, see Entry]
- OTGen
- VODAK
- Commercial Systems
- ArtBASE
- EasyDB (Objective Systems, Sweden)
- GemStone/GeODE
- ITASCA
- Matisse
- NeoAccess
- O2
- Objectivity/DB
- ObjectStore
- Ontos [formerly VBase]
- OpenODB (HP)
- Poet
- Statice
- UniSQL
- Versant
-
- Other Models
- Research Systems
- GRAS*
- IRIS
- Commercial Systems
- IDL
- Kala
- Pick
-
- Interfaces
- Research Systems
- Penguin
- Commercial Systems
- Persistence
- Subtlware
-
-
- EXTENDED RELATIONAL DB MODEL
- ----------------------------
-
- Research Systems
- ________________
-
-
- > POSTGRES (Berkeley)
-
- POSTGRES is an extended-relational database manager that supports
- inheritance, user-defined types, functions, and operators, ad-hoc
- queries, time travel, a rules system, tertiary storage devices,
- and very large typed objects, among other things. POSTGRES speaks
- postquel, a derivative of the quel query language originally
- designed at berkeley for the ingres database system. User functions
- may be written in C or in postquel. C functions will be dynamically
- loaded into the database server on demand, and either kind of function
- may be executed from the query language.
-
- POSTGRES and the papers that describe it are available free of charge
- from toe.CS.Berkeley.EDU (128.32.149.117) in directory pub/postgres.
- The code is stored in a directory named after the latest release; at
- the time of this writing, that directory is postgres-v4r1. The list
- of officially-supported ports is short (decstations running ultrix 4.x
- and sparcstations). Unofficially, many more are supported -- people
- elsewhere have done the ports and distribute their versions of the
- code. The list of unofficial ports is available in pub/postgres as
- file UNOFFICIAL-PORT-LIST.
-
- On Type Evolution:
- You ask explicitly about type evolution. We support schema
- modification on all classes, including user classes. This means that
- you can add attributes (instance slots) and methods at any time.
- Further, since postgres is a shared database system, such changes are
- instantly visible to any other user of the class.
-
- The language syntax supports attribute deletion, but the system won't
- do it yet. Since all data is persistent, removing attributes from a
- class requires some work -- you need to either get rid of or ignore
- all the values you've already stored.
-
- Contact:
- Paul Aoki <aoki@cs.berkeley.edu>
-
- The postgres code from uc berkeley is being commercialized by
- Miro Systems, Inc. [This seems to have been updated to Montage]
-
- Contact:
- paula hawthorn (paula@miro.com)
- dave segleau (dave@miro.com)
-
-
- Commercial Systems
- ------------------
-
- > Montage (ORDBMS) [Research System POSTGRES]
-
- From: markh@montage.com (Mark Helfen)
- Subject: Montage Database - brief product announcement
- Followup-To: sales@montage.com
- Organization: Montage Software, Inc.
- Date: Wed, 10 Nov 1993 23:05:03 GMT
-
- The Montage object-relational database management system
- (ORDBMS) is now available from Montage Software, Inc.
-
- The Montage object-relational database management system
- includes the Montage Server(tm) database engine, the Montage
- Viewer(tm) -- a new visualization tool that simplifies queries of
- complex data -- and Montage DataBlades(tm), specialized modules
- that extend the capabilities of the database for specific applications.
- Montage represents the commercialization of the seven-year
- POSTGRES research project.
-
- The Montage Server extends the relational database model through
- its ability to handle complex information, and the inclusion of object-
- oriented facilities and capabilities. It uses the familiar relational row-
- column metaphor for all data, so that text, numbers and complex data
- are all viewed, managed, manipulated and queried the same way.
- The relational metaphor is extended to allow data of any size and
- complexity to be stored and accessed in the way that is most
- effective. SQL, used to access and manage data, is extended with
- SQL3-based capabilities to allow the definition of user data types and
- functions.
-
- The Montage Viewer uses visualization technology to organize
- information in visual terms -- by location, shape, color and intensity,
- for example. Similar to a "flight simulator," the Montage Viewer allows
- the user to visually navigate through data, refining each step by
- "panning" and "zooming" with a mouse.
-
- A DataBlade is a combination of data types and functions that are
- designed to support a specific application. Text, Spatial, and Image
- are the first of many DataBlades that will comprise a full-range of
- industry-specific products created by Montage, third parties and
- users based upon their own expertise.
-
- o The Text DataBlade expands the database's functionality by
- adding new data types and functions that manage text and document
- libraries, as well as a providing a new access method (Doc-Tree)
- which provides exceptional search performance for text.
-
- o The Image DataBlade supports image conversion, storage,
- manipulation, enhancement and management of more than 50 image
- formats, and performs automatic conversion of formats at the user's
- discretion.
-
- o Points, lines, polygons and their spatial relationships are now
- supported in the relational model with the Spatial DataBlade. The
- DataBlade defines nine basic spatial types and makes over 200 SQL
- functions available for use on spatial data, as well as supports the
- R-Tree access method for high speed navigation of spatial data.
-
- Montage Software was co-founded by Gary Morgenthaler of
- Morgenthaler Ventures and Dr. Michael Stonebraker of the University
- of California, Berkeley, . Morgenthaler is Montage Software's
- chairman of the board and Stonebraker serves as the company's
- chief technology officer. Morgenthaler and Stonebraker co-
- founded Ingres Corporation (then called Relational Technology,
- Inc.), in 1980.
-
- FOR ADDITIONAL INFORMATION:
-
- Montage Software Inc. can be contacted at:
-
- email: sales@montage.com
- phone: (510) 652-8000
- fax: (510) 652-9688
-
- Mailing Address:
-
- Montage Software, Inc.
- 2000 Powell Street, Suite 1405
- Emeryville, CA 94608
-
- OO DATA MODEL
- -------------
-
- Research Systems
- ________________
-
- > AVANCE (SYSLAB)
-
- An object-oriented, distributed database programming language. Its
- most interesting feature is the presence of system-level version
- control, which is used to support schema evolution, system-level
- versioning (as a way of improving concurrency), and objects with their
- own notion of history. System consists of programming language (PAL)
- and distributed persistent object manager.
-
- REFERENCES:
- Anders Bjornerstedt and Stefan Britts. "AVANCE: An
- Object Management System". Proceedings of OOPSLA88.
-
-
-
- > CLOSQL (University of Lancaster)
-
- Status:-
- CLOSQL is a research prototype OODB designed primarily for prototyping
- various schema evolution and view mechanisms based on class versioning.
- The system is built using CommonLISP. It would really only be of interest
- to other parties as a research tool.
-
- Requirements:-
- Common LISP including CLOS standard. The Graphical user interface requires
- the Harlequin LispWorks Tool-kit. The system was built on a Sun4 and
- has not been tested on any other platform.
-
- Features:-
- As a prototype, CLOSQL is not robust enough to sell. The system is single
- user and does not properly support persistence - that is, the data has to
- be loaded and saved explicitly. The query language is quite good
- making good use of the functional nature of the environment.
- Methods (LISP and query language only), class versioning and
- multiple inheritance are all supported in the data model. Type checking
- information is held in the database, but is NOT enforced at present. The
- GUI is notable for its support for schema evolution, but otherwise rather
- ordinary.
-
- Availability:-
- Probably freely available, but as the project was part funded by an
- industrial partner, some consultation with them would be necessary before
- the system could be released.
-
- References:-
- [1] Monk, S. R. and I. Sommerville, "A Model for Versioning of Classes
- in Object-Oriented Databases", Proceedings of BNCOD 10, Aberdeen.
- pp.42-58. 1992.
-
- [2] Monk, S. "The CLOSQL Query Language". Technical report No. SE-91-15.
- Computing Dept, Lancaster University, Lancaster, LA1 4YR, UK. 1991.
-
- [3] Monk, S., "A Model For Schema Evolution In Object-Oriented Database
- Systems", PhD thesis, Dept of Computing, Lancaster University, Lancaster
- LA1 4YR, UK. 1992.
-
- On Schema evolution (from original survey):
- CLOSQL implements a class versioning scheme (like ENCORE), but employs a
- conversion adaptation strategy. Instances are converted when there is a
- version conflict, but unlike ORION and GemStone, CLOSQL can convert instances
- to older versions of the class if necessary.
-
- Aberdeen, Scotland. July, 1992.
-
- Contacts;
- Simon Monk: srm@computing.lancaster.ac.uk
- Ian Sommerville: is@computing.lancaster.ac.uk
-
-
- > ConceptBase
- Version 3.1
-
- The ConceptBase System
-
- ConceptBase is a deductive object management system intended for
- conceptual modeling and the coordination of design environments. It
- integrates techniques from deductive and object-oriented databases in
- the logical framework of the language Telos.
-
- Key features are
-
- * hybrid representation with frame-like objects, semantic nets and
- logical specifications
-
- * extensibility by metaclass hierarchies
-
- * declarative object-centered query language
-
- * persistent object management with roll-back capability
-
- ConceptBase follows a client-server architecture. Client programs can
- connect to the ConceptBase server and exchange data via interprocess
- communication. The ConceptBase programming interface allows the users
- to create their own client programs in C or Prolog.
-
- The X11-based ConceptBase usage environment offers an extensible
- palette of graphical, tabular and textual tools for editing and
- browsing the knowledge base. It includes the CoAuthor tool which
- supports multiple author production of hypermedia documents.
-
- ConceptBase Applications
-
- ConceptBase has been developed with partial support from the ESPRIT
- projects DAIDA and Compulog. It serves as a central knowledge manager
- in the DAIDA environment for data-intensive information systems.
- Further applications range from configuration management, co-authoring
- to requirements engineering, reverse engineering, business modeling,
- and quality assurance systems. ConceptBase is used by several research
- institutions in Europe and North America for experimental purposes.
-
- Availability
-
- ConceptBase is available for research purposes in a Prolog version
- (running under ProLog by BIM 3.1) or as a runtime system. The
- graphical usage environment of ConceptBase is based on the Andrew
- toolkit release 5.1.
-
- Version 3.2 (only available as runtime system) will be released in
- August 1993.
-
- A four week test-version of ConceptBase V3.1 is available
- on the FTP server ftp.informatik.rwth-aachen.de in the
- directory pub/CB. For running the ftp version you must ask for a
- key by email.
-
-
- Technical Requirements
-
- Machine: SUN4/Sparc
- Main memory: at least 8 MB
- Free swap space: at least 30 MB
- Free space on disk: at least 18 MB
- Operating System: SUN OS 4.1.1
- Environment: X11 Release 5
-
- Contact
-
- Rene Soiron
- RWTH Aachen --- Informatik V
- Ahornstr. 55, D-52056 Aachen
- Tel/Fax: +49 +241 80 21 501 / 80 21 529
- email: CB@picasso.informatik.rwth-aachen.de
-
-
- Also:
- We have developed a deductive object-oriented database called
- ConceptBase where everything (tokens, classes, meta-classes
- ,meta-meta-classes ,attributes, instantiations, specializations) is
- treated as an object. That means that you may update the "schema"
- (classes) at any time just as any other ordinary object.
-
- The systems has (user-defined and builtin) integrity constraints that
- prevent inconsistency (e.g. violation of ref.integrity). Integrity
- constraints in ConceptBase are (as in most other systems) static,
- i.e., they are conditions that each database "state" must satisfy.
-
- The data model we use does not distinguish schema level information
- (i.e. classes) from instance level information. If you change for
- example some classes and this change violates some integrity
- constraints, e.g. some instances now don't have the right attribute
- types anymore, then you have the choice either to reject the update or
- to change the existing DB. Currently, ConceptBase simply rejects such
- updates. We are thinking of exploiting abduction (see VLDB'90 article
- of Kakas&Mancarella) to make more clever reactions in the sense of
- "reformatting" instances.
-
- [Manfred Jeusfeld <jeusfeld@forwiss.uni-passau.de>]
-
-
- > COOL/COCOON (Ulm Universitaet)
-
- The COCOON project was intended to extend the concepts and the
- architecture of relational database management systems (DBMSs) beyond
- nested relational to object-oriented ones. Based upon the nested
- relational DBMS kernel DASDBS, we have built a prototype implementation
- of the COCOON model. Key characteristics of COCOON are: generic,
- set-oriented query and update operators similar to relational algebra
- and SQL updates, respectively; object-preserving semantics of query
- operators, which allows for the definition of updatable views; a
- separation of the two aspects of programming language "classes": type
- vs. collection; predicative description of collections, similar to
- "defined concepts" in KL-One--like knowledge representation
- languages; automatic classification of objects and views (positioning
- in the class hierarchy); physical clustering of subobjects via the use
- of nested relations as the internal storage structures; support for the
- optimization of both, the physical DB design and query transformation,
- by corresponding optimizers.
-
- Project goals are:
-
- - to develop a general formal framework for investigations of all
- kinds of schema changes in object-oriented database systems
- (including schema design, schema modification, schema tailoring, and
- schema integration);
- - to find implementation techniques for evolving database schemas,
- such that changes on the logical level propagate automatically to
- adaptations of the physical level (without the need to modify all
- instances, if possible).
-
- In their current paper [see below], schema evolution is used as
- example of a general framework for change in OODBs, supporting change
- on three levels of database objects: data objects, schema objects, and
- meta-schema objects.
-
- Contact: Markus Tresch <tresch@informatik.uni-ulm.de>
-
-
- REFERENCES:
- M. Tresch and M.H. Scholl. "Meta Object Management
- and its Application to Database Evolution." In
- _Proceedings of the Eleventh International
- Conference on the Entity-Relationship Approach",
- Karlsruhe, Germany, Oct 1992. Springer Verlag (to
- appear).
-